package com.zsl.dao;

import com.zsl.model.Users;
import org.hsqldb.rights.User;

import java.sql.SQLException;
import java.util.List;

public interface UsersDao {
    /**
     * 根据用户名获取单个用户信息
     *
     * @param uname 用户名
     * @param pwd   密码
     * @return Users
     */
    public Users getUserByName(String uname, String pwd);

    /**
     * 获取所有用户信息
     *
     * @return List<Users>
     */
    public List<Users> getAllUsers();

    /**
     * 这个sql主要是用于查询
     *
     * @param sql 查询语句
     * @return List<Users>
     */
    public List<Users> queryBySQL(String sql);

    /**
     * 通过uid删除一个用户
     *
     * @param uid 用户号
     * @return int 影响行数
     */
    public int deleteUserByUid(int uid);

    /**
     * 添加一个用户
     *
     * @param user 用户对象
     * @return int 影响行数
     */
    public void addUser(Users user) throws Exception;

    /**
     * 获取可用用户人数
     *
     * @return
     */
    public String getAllUserNum() throws Exception;

    /**
     * 更新用户信息
     *
     * @param user 用户信息
     * @return int
     */
    public int UpdateUserInfo(Users user);

    /**
     * 通过查找字符串查找用户
     * @param searchStr 查找字符串
     * @return List<Users>
     */
    public List<Users> getUsersBySearchStr(String searchStr) throws  Exception;

}
